package net.guerlab.ali.dayu;

import org.apache.commons.lang3.StringUtils;

import com.alibaba.fastjson.JSONObject;

/**
 * 请求消息体
 * 
 * @author guer
 *
 */
public class Msg {

    /**
     * 短信签名
     */
    private String signName;

    /**
     * 接受号码
     */
    private String num;

    /**
     * 短信模板ID
     */
    private String templateCode;

    /**
     * 短信模板变量
     */
    private final JSONObject param = new JSONObject();

    /**
     * 公共回传参数
     */
    private String extend;

    /**
     * 获取短信签名
     * 
     * @return 短信签名
     */
    public final String getSignName() {
        return signName == null ? "" : signName;
    }

    /**
     * 设置短信签名
     * 
     * @param signName
     *            短信签名
     */
    public final void setSignName(String signName) {
        this.signName = signName;
    }

    /**
     * 获取接受号码
     * 
     * @return 接受号码
     */
    public final String getNum() {
        return num == null ? "" : num;
    }

    /**
     * 设置接受号码
     * 
     * @param num
     *            接受号码
     */
    public final void setNum(String num) {
        this.num = num;
    }

    /**
     * 获取短信模板ID
     * 
     * @return 短信模板ID
     */
    public final String getTemplateCode() {
        return templateCode == null ? "" : templateCode;
    }

    /**
     * 设置短信模板ID
     * 
     * @param templateCode
     *            短信模板ID
     */
    public final void setTemplateCode(String templateCode) {
        this.templateCode = templateCode;
    }

    /**
     * 获取短信模板变量
     * 
     * @return 短信模板变量
     */
    public final JSONObject getParam() {
        return param;
    }

    /**
     * 设置短信模板变量
     * 
     * @param key
     *            短信模板变量名
     * @param value
     *            短信模板变量值
     */
    public final void setParam(String key, String value) {
        if (!StringUtils.isBlank(key)) {
            this.param.put(key, value);
        }
    }

    /**
     * 获取公共回传参数
     * 
     * @return 公共回传参数
     */
    public final String getExtend() {
        return extend == null ? "" : extend;
    }

    /**
     * 设置公共回传参数
     * 
     * @param extend
     *            公共回传参数
     */
    public final void setExtend(String extend) {
        this.extend = extend;
    }
}
